package com.ztorn.fiscale.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ztorn.common.core.annotation.Excel;
import com.ztorn.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 报关单申报记录对象 fiscale_customs_submission
 *
 * @author ztorn
 * @date 2025-01-19
 */
public class FiscaleCustomsSubmission extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 申报记录ID */
    private Long submissionId;

    /** 报关单ID */
    @Excel(name = "报关单ID")
    private Long declarationId;

    /** 预录入编号 */
    @Excel(name = "预录入编号")
    private String preEntryNo;

    /** 申报数据(JSON) */
    private String submissionData;

    /** 申报响应(JSON) */
    private String submissionResponse;

    /** 申报状态(pending-待申报,success-成功,failed-失败) */
    @Excel(name = "申报状态", readConverterExp = "pending=待申报,success=成功,failed=失败")
    private String submissionStatus;

    /** 申报时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申报时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date submissionTime;

    /** 错误信息 */
    private String errorMessage;

    /** 海关回执原始报文 */
    private String customsReceipt;

    public void setSubmissionId(Long submissionId) 
    {
        this.submissionId = submissionId;
    }

    public Long getSubmissionId() 
    {
        return submissionId;
    }
    public void setDeclarationId(Long declarationId) 
    {
        this.declarationId = declarationId;
    }

    public Long getDeclarationId() 
    {
        return declarationId;
    }
    public void setPreEntryNo(String preEntryNo) 
    {
        this.preEntryNo = preEntryNo;
    }

    public String getPreEntryNo() 
    {
        return preEntryNo;
    }
    public void setSubmissionData(String submissionData) 
    {
        this.submissionData = submissionData;
    }

    public String getSubmissionData() 
    {
        return submissionData;
    }
    public void setSubmissionResponse(String submissionResponse) 
    {
        this.submissionResponse = submissionResponse;
    }

    public String getSubmissionResponse() 
    {
        return submissionResponse;
    }
    public void setSubmissionStatus(String submissionStatus) 
    {
        this.submissionStatus = submissionStatus;
    }

    public String getSubmissionStatus() 
    {
        return submissionStatus;
    }
    public void setSubmissionTime(Date submissionTime) 
    {
        this.submissionTime = submissionTime;
    }

    public Date getSubmissionTime() 
    {
        return submissionTime;
    }
    public void setErrorMessage(String errorMessage) 
    {
        this.errorMessage = errorMessage;
    }

    public String getErrorMessage() 
    {
        return errorMessage;
    }
    public void setCustomsReceipt(String customsReceipt) 
    {
        this.customsReceipt = customsReceipt;
    }

    public String getCustomsReceipt() 
    {
        return customsReceipt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("submissionId", getSubmissionId())
            .append("declarationId", getDeclarationId())
            .append("preEntryNo", getPreEntryNo())
            .append("submissionData", getSubmissionData())
            .append("submissionResponse", getSubmissionResponse())
            .append("submissionStatus", getSubmissionStatus())
            .append("submissionTime", getSubmissionTime())
            .append("errorMessage", getErrorMessage())
            .append("customsReceipt", getCustomsReceipt())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}